home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 49 / PCPP49a.iso / editors / sofsdk / SoF SDK.msi / _F48CB87A45594D97B526B66E8F288E54 < prev    next >
Encoding:
Text File  |  2000-03-27  |  7.5 KB  |  229 lines

  1. // template file for common directory
  2.  
  3. #include "../common/header.ds"
  4.  
  5. output "p:/base/ds/common"
  6.  
  7. // Declare the variables
  8.  
  9.     parameter vector location //how far will the elevator move
  10.     parameter vector newlocation //how far will the elevator move
  11.     parameter int upordown //defines which floor the elevator is on.  Up = 0
  12.         
  13.     parameter entity leftupper //Upper outside door
  14.     parameter entity rightupper //Upper outside door
  15.     parameter entity leftlower //Lower outside door
  16.     parameter entity rightlower //Lower outside door
  17.  
  18.     parameter entity elebody //The actual elevator
  19.     parameter entity eledoorleft //The inside elevator door
  20.     parameter entity eledoorright //The inside elevator door
  21.  
  22.     local int done = 0 //Shows when the elevator has stopped moving so the doors can open
  23.     local int currentfloor = 0 //this tells the program which floor the elevator is on.  Up = 0
  24.  
  25. /* !!!!!WARNING!!!! with currentfloor set to 0, it assumes that the elevator is at its extended
  26.     position.  If you want the elevator to be at the lower floor, set currentfloor = 1 */
  27.  
  28. //We need to check which floor it is on first... remember that up = 0
  29.  
  30.     if upordown = currentfloor
  31.         if upordown = 1
  32.             move entity leftlower by [0,48,0] at 100 speed //open the outside doors
  33.             move entity rightlower by [0,-48,0] at 100 speed
  34.  
  35.                 wait .5 seconds        
  36.  
  37.             move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
  38.             move entity eledoorright by [0,-48,0] at 100 speed signaling done
  39.             wait for any clearing done    
  40.     
  41.                 wait 2 seconds
  42.  
  43.             move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
  44.             move entity eledoorright by [0,48,0] at 100 speed 
  45.  
  46.                 wait .5 seconds
  47.  
  48.             move entity leftlower by [0,48,0] at 100 speed //close the outside doors
  49.             move entity rightlower by [0,-48,0] at 100 speed signaling done
  50.             wait for any clearing done
  51.             
  52.             move entity eledoorleft by location at 100 speed //move the elevator
  53.             move entity eledoorright by location at 100 speed
  54.             move entity elebody by location at 100 speed signaling done
  55.             wait for any clearing done
  56.  
  57.                 wait .5 seconds
  58.  
  59.             move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
  60.             move entity eledoorright by [0,-48,0] at 100 speed 
  61.  
  62.             move entity leftupper by [0,48,0] at 100 speed //open the outside doors
  63.             move entity rightupper by [0,-48,0] at 100 speed signaling done
  64.             wait for any clearing done
  65.                     
  66.                 wait 2 seconds
  67.     
  68.             move entity leftupper by [0,-48,0] at 100 speed //close the outside doors
  69.             move entity rightupper by [0,48,0] at 100 speed
  70.  
  71.                 wait .5 seconds        
  72.  
  73.             move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
  74.             move entity eledoorright by [0,48,0] at 100 speed signaling done
  75.             wait for any clearing done    
  76.  
  77.         else
  78.             move entity leftupper by [0,48,0] at 100 speed //open the outside doors
  79.             move entity rightupper by [0,-48,0] at 100 speed
  80.  
  81.                 wait .5 seconds        
  82.  
  83.             move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
  84.             move entity eledoorright by [0,-48,0] at 100 speed signaling done
  85.             wait for any clearing done    
  86.     
  87.                 wait 2 seconds
  88.  
  89.             move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
  90.             move entity eledoorright by [0,48,0] at 100 speed 
  91.  
  92.                 wait .5 seconds
  93.  
  94.             move entity leftupper by [0,48,0] at 100 speed //close the outside doors
  95.             move entity rightupper by [0,-48,0] at 100 speed signaling done
  96.             wait for any clearing done
  97.             
  98.             move entity eledoorleft by location at 100 speed //move the elevator
  99.             move entity eledoorright by location at 100 speed
  100.             move entity elebody by location at 100 speed signaling done
  101.             wait for any clearing done
  102.  
  103.                 wait .5 seconds
  104.  
  105.             move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
  106.             move entity eledoorright by [0,-48,0] at 100 speed 
  107.  
  108.             move entity leftlower by [0,48,0] at 100 speed //open the outside doors
  109.             move entity rightlower by [0,-48,0] at 100 speed signaling done
  110.             wait for any clearing done
  111.                     
  112.                 wait 2 seconds
  113.     
  114.             move entity leftlower by [0,-48,0] at 100 speed //close the outside doors
  115.             move entity rightlower by [0,48,0] at 100 speed
  116.  
  117.                 wait .5 seconds        
  118.  
  119.             move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
  120.             move entity eledoorright by [0,48,0] at 100 speed signaling done
  121.             wait for any clearing done    
  122.         endif
  123.  
  124.         
  125.  
  126.         
  127.             else 
  128.         
  129.     endif
  130.  
  131. suspend
  132.         
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139. /*    if upordown = 0
  140.         move entity leftupper by [0,48,0] at 100 speed //open the outside doors
  141.         move entity rightupper by [0,-48,0] at 100 speed
  142.             wait .25 seconds
  143.  
  144.             move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
  145.             move entity eledoorright by [0,-48,0] at 100 speed signaling done
  146.             wait for any clearing done
  147.             
  148.             wait 1 seconds
  149.             
  150.             move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
  151.             move entity eledoorright by [0,48,0] at 100 speed 
  152.             wait .25 seconds
  153.  
  154.                 move entity leftupper by [0,48,0] at 100 speed //close the outside doors
  155.                 move entity rightupper by [0,-48,0] at 100 speed signaling done
  156.                 wait for any clearing done    
  157.             
  158.         else
  159.             move entity leftlower by [0,48,0] at 100 speed //open the outside doors
  160.             move entity rightlower by [0,-48,0] at 100 speed
  161.                 wait .25 seconds
  162.     
  163.                 move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
  164.                 move entity eledoorright by [0,-48,0] at 100 speed signaling done
  165.                 wait for any clearing done
  166.                 
  167.                 wait 1 seconds
  168.                 
  169.                 move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
  170.                 move entity eledoorright by [0,48,0] at 100 speed
  171.                 wait .25 seconds
  172.  
  173.                     move entity leftlower by [0,48,0] at 100 speed //close the outside doors
  174.                     move entity rightlower by [0,-48,0] at 100 speed signaling done
  175.         endif
  176.  
  177. //move to the next level
  178.  
  179.     move entity eledoorleft by newlocation at 200 speed
  180.     move entity eledoorright by newlocation at 200 speed
  181.     move entity elebody by newlocation at 200 speed signaling done
  182.     wait for any clearing done    
  183.  
  184.  
  185. //open the correct outside doors
  186.  
  187.     if upordown = 1
  188.         move entity leftupper by [0,48,0] at 100 speed //open the outside doors
  189.         move entity rightupper by [0,-48,0] at 100 speed
  190.             wait .25 seconds
  191.  
  192.             move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
  193.             move entity eledoorright by [0,-48,0] at 100 speed signaling done
  194.             wait for any clearing done
  195.  
  196.             wait 1 seconds
  197.  
  198.             move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
  199.             move entity eledoorright by [0,48,0] at 100 speed 
  200.             wait .25 seconds
  201.  
  202.                 move entity leftupper by [0,48,0] at 100 speed //close the outside doors
  203.                 move entity rightupper by [0,-48,0] at 100 speed signaling done
  204.                 wait for any clearing done
  205.                 
  206.             
  207.         else
  208.             move entity leftlower by [0,48,0] at 100 speed //open the outside doors
  209.             move entity rightlower by [0,-48,0] at 100 speed
  210.                 wait .25 seconds
  211.     
  212.                 move entity eledoorleft by [0,48,0] at 100 speed // open the inside doors
  213.                 move entity eledoorright by [0,-48,0] at 100 speed signaling done
  214.                 wait for any clearing done        
  215.     
  216.                 wait 1 seconds
  217.  
  218.                 move entity eledoorleft by [0,-48,0] at 100 speed // close the inside doors
  219.                 move entity eledoorright by [0,48,0] at 100 speed 
  220.                 wait .25 seconds
  221.  
  222.                     move entity leftlower by [0,48,0] at 100 speed //close the outside doors
  223.                     move entity rightlower by [0,-48,0] at 100 speed signaling done
  224.                     wait for any clearing done
  225.     endif
  226.  
  227. suspend */
  228.  
  229.